# 概览
本文的重点会放在req这个对象上。前面已经提到,它其实是http.IncomingMessage实例,在服务端、客户端作用略微有差异
- 服务端处:获取请求方的相关信息,如request header等。
- 客户端处:获取响应方返回的相关信息,如statusCode等。
服务端例子:
// 下面的 req
var http = require('http');
var server = http.createServer(function(req, res){
console.log(req.headers);
res.end('ok');
});
server.listen(3000);
@前端进阶之旅: 代码已经复制到剪贴板
客户端例子
// 下面的res
var http = require('http');
http.get('http://127.0.0.1:3000', function(res){
console.log(res.statusCode);
});
@前端进阶之旅: 代码已经复制到剪贴板
# 属性/方法/事件 分类
http.IncomingMessage的属性/方法/事件 不是特别多,按照是否客户端/服务端 特有的,下面进行简单归类。可以看到
- 服务端处特有:url
- 客户端处特有:statusCode、statusMessage
| 类型 | 名称 | 服务端 | 客户端 |
|---|---|---|---|
| 事件 | aborted | ✓ | ✓ |
| 事件 | close | ✓ | ✓ |
| 属性 | headers | ✓ | ✓ |
| 属性 | rawHeaders | ✓ | ✓ |
| 属性 | statusCode | ✕ | ✓ |
| 属性 | statusMessage | ✕ | ✓ |
| 属性 | httpVersion | ✓ | ✓ |
| 属性 | url | ✓ | ✕ |
| 属性 | socket | ✓ | ✓ |
| 方法 | .destroy() | ✓ | ✓ |
| 方法 | .setTimeout() |
